package com.fornknow.proxy;

import java.lang.reflect.Proxy;

public class MyProxyFactory {
    /**
     * Proxy
     * 它是在程序运行的时候生成的类，在生成的时候，必须要提供一组InterFace给它，然后该class就宣称它实现了这些接口。
     * 当然这个Proxy不会替你做实质性的工作，在生成它的实例的时候必须提供一个handler，由它来接管实际的工作。
     * 注意：在使用动态代理的时候，我们必须实现InvocationHandler接口
     * @param obj
     * @return
     */
    public static  Object getProxy(Object obj){
        ProxyHandle ph = new ProxyHandle();
        //要传入目标对象
        ph.setTarget(obj);
        return Proxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(),ph);
    };
}
